namespace Matrix.Notification.Notifications
{
    /// <summary>
    /// 通知权限常量
    /// </summary>
    public static class NotificationPermissions
    {
        public const string GroupName = "Matrix.Notification";

        /// <summary>
        /// 通知管理权限
        /// </summary>
        public static class Notifications
        {
            public const string Default = GroupName + ".Notifications";
            public const string Create = Default + ".Create";
            public const string Edit = Default + ".Edit";
            public const string Delete = Default + ".Delete";
            public const string Read = Default + ".Read";
            public const string Send = Default + ".Send";
            public const string BatchSend = Default + ".BatchSend";
            public const string Retry = Default + ".Retry";
            public const string Statistics = Default + ".Statistics";
            public const string Templates = Default + ".Templates";
            public const string Subscriptions = Default + ".Subscriptions";
        }

        /// <summary>
        /// 通知模板权限
        /// </summary>
        public static class Templates
        {
            public const string Default = GroupName + ".Templates";
            public const string Create = Default + ".Create";
            public const string Edit = Default + ".Edit";
            public const string Delete = Default + ".Delete";
            public const string Read = Default + ".Read";
            public const string Render = Default + ".Render";
            public const string Preview = Default + ".Preview";
        }

        /// <summary>
        /// 通知订阅权限
        /// </summary>
        public static class Subscriptions
        {
            public const string Default = GroupName + ".Subscriptions";
            public const string Create = Default + ".Create";
            public const string Edit = Default + ".Edit";
            public const string Delete = Default + ".Delete";
            public const string Read = Default + ".Read";
            public const string Manage = Default + ".Manage";
            public const string BulkOperations = Default + ".BulkOperations";
        }

        /// <summary>
        /// 通知统计权限
        /// </summary>
        public static class Statistics
        {
            public const string Default = GroupName + ".Statistics";
            public const string Read = Default + ".Read";
            public const string Export = Default + ".Export";
            public const string Reports = Default + ".Reports";
        }

        /// <summary>
        /// 系统配置权限
        /// </summary>
        public static class Settings
        {
            public const string Default = GroupName + ".Settings";
            public const string Read = Default + ".Read";
            public const string Edit = Default + ".Edit";
            public const string Channels = Default + ".Channels";
            public const string Providers = Default + ".Providers";
        }
    }
}